home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
10
/
9
/
DISK1095.ZIP
/
HRMRPT.PRG
< prev
next >
Wrap
Text File
|
1987-02-14
|
4KB
|
128 lines
*
* HRM FILE LISTING
* LISTS SELECTED SUBSET OF RECORDS IN PERSONNEL FILE
SET HEADING OFF
SET SAFETY OFF
SET STATUS OFF
CLEAR
CLEAR ALL
SET TALK OFF
SET BELL OFF
@ 1,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
@ 3,14 SAY ">> Human Resources Management System File Listing <<"
@ 5,29 SAY "Today's Date: "
?? DATE()
STORE " " TO NAMEST
STORE "zzzzzzzzzzzzzzzzzzzz" TO NAMEEND
STORE "YES" TO YNAPL
STORE "YES" TO YNHIST
STORE "PERSONNL" TO FILENAME
STORE "PNAME " TO INDEX
@ 7,1 SAY "Beginning LAST NAME to Include in Report " GET NAMEST
@ 9,1 SAY "Ending LAST NAME to Include in Report " GET NAMEEND
@ 11,1 SAY "Include APPLICANTS in the Report ? " GET YNAPL
@ 13,1 SAY "Run Report From The Following FILE " GET FILENAME
@ 15,1 SAY "Ordered by the Following INDEX " GET INDEX
@ 17,1 SAY "Include EMPLOYMENT HISTORY in the Report ? " GET YNHIST
STORE " " TO DUMMY
@ 21,1 SAY ;
"REPLACE VALUES AT CURSOR, OR JUST PRESS ENTER IF CURRENT REPORT DESCRIPTION"
@ 22,1 SAY ;
"IS O.K. 'M' HERE RETURNS TO MENU, ANY OTHER KEY STARTS THE REPORT =>";
GET DUMMY
READ
STORE UPPER(DUMMY) TO DUMMY
IF DUMMY="M"
RETURN
ENDIF
* OPEN FILE USING INDEX SPECIFIED ABOVE AND SSAN INDEX FOR LINK TO HISTORY
IF INDEX=" "
USE &FILENAME INDEX PSSAN
ELSE
USE &FILENAME INDEX &INDEX,PSSAN
ENDIF
* IF EMPLOYMENT HISTORY REQUESTED, OPEN HISTORY FILE
IF YNHIST="Y"
SELECT B
USE EXPHIST INDEX LPSSAN
SELECT A
ENDIF
* RUN REPORT SELECTING RECORDS AS SPECIFIED BY DEFAULTS OR SCREEN INPUTS
GO TOP
SET CONSOLE OFF
SET PRINT ON
SET DEVICE TO PRINT
STORE 0 TO PAGENO
STORE (1=2) TO END
STORE 51 TO LINECNT
DO WHILE .NOT. EOF()
* CHECK TO SEE IF PERSONNEL RECORD SATISFIES SELECTION CRITERIA
* AND THAT RECORD IS NOT FLAGGED FOR DELETION
IF A->LAST_NAME>=NAMEST.AND.A->LAST_NAME<=NAMEEND.AND.;
(YNAPL="Y".OR.HIRED).AND..NOT.DELETE()
IF LINECNT>50
* PRINT PAGE HEADING
STORE 0 TO LINECNT
STORE PAGENO+1 TO PAGENO
IF PAGENO>1
EJECT
ENDIF
@ 4,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
@ 6,17 SAY " "
?? "Personnel Listing Dated:",DATE()," Page",STR(PAGENO,3,0)
?
ENDIF
?
? "Name :",TRIM(A->LAST_NAME)+","+TRIM(A->FIRST_NAME)+" "+A->INITIAL
?? " SSAN :",A->SSAN," Employee ?",A->HIRED
? "Address :",TRIM(A->STREET),TRIM(A->CITY),",",A->STATE,A->ZIP
?? " Mar. Status :",A->MAR_STATUS
? "Hourly ? :",A->HOURLY," Rate/Salary :",A->PAY_RATE,;
" Overtime Fac. :",A->OVER_TIME," Exemptions :",A->EXEMP
?
STORE LINECNT+5 TO LINECNT
* RETRIEVE AND PRINT ALL LINKED EXPERIENCE (HISTORY) RECORDS IF REQUESTED
* THESE WILL PRINT ACROSS A PAGE BOUNDARY IF THERE ARE MANY OF THEM
IF YNHIST="Y"
SELECT B
STORE A->SSAN TO TEMP
FIND &TEMP
STORE RECNO() TO RECNOW
DO WHILE .NOT. EOF() .AND. B->SSAN=A->SSAN
? "Work Code/Title :",B->WORK_CODE,B->WORK_TITLE," Period :",;
B->START_DATE,"to",B->END_DATE
? "Employer :",TRIM(B->EMP_NAME),", ",TRIM(B->EMP_STREET),;
TRIM(B->EMP_CITY),",",B->EMP_STATE
?
STORE LINECNT+3 TO LINECNT
* LOOK FOR NEXT LINKED RECORD, MAKE SURE THERE IS A MATCH
STORE RECNO() TO RECNOW
SKIP +1
* FOLLOWING CODE FROM HALLE/MUSKAT REVISION --- DID NOT WORK!!!!
* DO CASE
* CASE RECNO()=RECNOW
* STORE 0 TO RECNOW
* CASE B->SSAN=A->SSAN
* STORE RECNO() TO RECNOW
* OTHERWISE
* STORE 0 TO RECNOW
* ENDCASE
ENDDO
ENDIF
ENDIF
* GET NEXT PERSONNEL RECORD IN INDEX SEQUENCE. SET END TO TRUE IF LAST RECORD
SELECT A
STORE RECNO() TO RECNOW
SKIP 1
IF RECNO()=RECNOW
* SET END LOGICAL VARIABLE TO TRUE
STORE (1=1) TO END
ENDIF
ENDDO
EJECT
SET PRINT OFF
SET DEVICE TO SCREEN
SET CONSOLE ON
CLEAR
RETURN